package com.ruoyi.community.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.community.domain.vo.TripVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.community.mapper.TripMapper;
import com.ruoyi.community.domain.Trip;
import com.ruoyi.community.service.ITripService;

/**
 * 行程Service业务层处理
 *
 * @author lj
 * @date 2022-02-24
 */
@Service
public class TripServiceImpl implements ITripService
{
    @Autowired
    private TripMapper tripMapper;

    /**
     * 查询行程
     *
     * @param id 行程主键
     * @return 行程
     */
    @Override
    public Trip selectTripById(Long id)
    {
        return tripMapper.selectTripById(id);
    }

    /**
     * 查询行程列表
     *
     * @param trip 行程
     * @return 行程
     */
    @Override
    public List<Trip> selectTripList(Trip trip)
    {
        return tripMapper.selectTripList(trip);
    }

    @Override
    public List<TripVo> selectTripListVo(Trip trip) {
        List<TripVo> tripVos = tripMapper.selectTripListVo(trip);
        for (TripVo t : tripVos) {
            t.setPca(t.getProvince()+"-"+t.getCity()+"-"+t.getArea());
        }
        return tripVos;
    }

    @Override
    public List<TripVo> selectTripVoList(Trip trip) {
        return tripMapper.selectTripVoList(trip);
    }

    @Override
    public List<TripVo> selectTripperson(Trip trip) {
        return tripMapper.selectTripperson(trip);
    }

    /**
     * 新增行程
     *
     * @param trip 行程
     * @return 结果
     */
    @Override
    public int insertTrip(Trip trip)
    {
        trip.setCreatTime(DateUtils.getNowDate());
        trip.setUpdateTime(DateUtils.getNowDate());
        trip.setDelFlag(0);
        return tripMapper.insertTrip(trip);
    }

    /**
     * 修改行程
     *
     * @param trip 行程
     * @return 结果
     */
    @Override
    public int updateTrip(Trip trip)
    {
        trip.setUpdateTime(DateUtils.getNowDate());
        return tripMapper.updateTrip(trip);
    }

    /**
     * 批量删除行程
     *
     * @param ids 需要删除的行程主键
     * @return 结果
     */
    @Override
    public int deleteTripByIds(Long[] ids)
    {
        return tripMapper.deleteTripByIds(ids);
    }

    /**
     * 删除行程信息
     *
     * @param id 行程主键
     * @return 结果
     */
    @Override
    public int deleteTripById(Long id)
    {
        return tripMapper.deleteTripById(id);
    }

    @Override
    public int updateTripByIds(Long[] ids) {
        return tripMapper.updateTripByIds(ids);
    }
}
